The present invention is applicable in spread spectrum telecommunication systems and more specifically relates to receivers for use in such systems.
In telecommunications, two common examples of spread spectrum systems are CDMA and WCDMA. Other examples include the Global Positioning System (GPS). Global positioning system (GPS) is one example of a space based satellite navigation system that has the ability to pinpoint any location on earth with a high degree of accuracy, providing information on position, velocity and time (PVT) of a receiver. Other examples of spaced based satellite navigation system are TIMATION, transit, and GLONASS.
GPS is typically divided into three segments:    a space segment which essentially comprises the satellites and the signals they emit,    a control segment which monitors and maintains the satellite constellation,    a user segment which comprises GPS receivers, equipment, data collection and data processing techniques.
The GPS constellation typically consists of 24 satellites orbiting the earth every 24 hours. A minimum of four GPS satellites must be in clear view of a GPS receiver in order for the receiver to determine accurately its location. In overview, each satellite broadcasts signals that the GPS receiver receives and decodes and from these calculates the time taken for the signals to reach the receiver, this is called the time in transit. The receiver then multiplies the time in transit by the speed of electromagnetic radiation to determine the range from the satellite to the receiver. From there, in order to work out the receiver's 3 dimensional distance, velocity and time, the receiver applies the triangulation calculation. Triangulation involves calculating the intersection of points between four reference points given by the satellites and the intersection fixes or locates the position in 3-dimensional space.
It should be noted, however, that range measurement inherently contain errors common to measurements created by the unsynchronised operation of the satellite and the user clocks. This is why GPS uses four satellites to effect ranging. The measurements from three GPS satellites allow the GPS receiver to calculate the three unknown parameters representing its three dimensional position, while the fourth GPS satellite allows the GPS receiver to calculate the user clock error and therefore determine a more precise time measurement.
The signals broadcast by a satellite comprise radio frequency (RF) ranging codes and navigation data messages which are transmitted using spread spectrum techniques. The ranging codes enable the GPS receiver to measure the transit times of the signals and thereby determine the range between the satellite and the receiver. The navigation data messages are based on predetermined information regarding the orbital path of the satellite and thus provide an indication of the position of the satellite at the time the signals were transmitted.
The encoded signal generated by a satellite is in the form of a pseudo random noise (PRN) code which represents a sequence of random binary chips, each satellite transmitting a unique PRN sequence that repeats itself at definite intervals. In GPS, there is Precision Code (P-Code) having a chipping rate 10.23 MHz and which is reserved for military use, and a Course Acquisition code (C/A Code) having a chipping rate 1.023 MHz and which is allocated for commercial and personal use. A chip is 1 or −1. The codes are transmitted on two L-band frequencies: Link 1 (L1) at 1575.42 MHz and Link 2 (L2) at 1227.6 MHz. The code allocations on L1 are Course Acquisition code (C/A Code) and Precision Code (P-Code), and on L2 is only P-Code.
The C/A Code consists of a 1023 bit pseudo random (PRN) code, and a different PRN code is assigned to each GPS satellite. In addition, a 50 Hz navigation data message is superimposed on the C/A Code, and contains the data noted above. Thus the receiver can utilise the signal from a satellite by the particular C/A Code being submitted, to make pseudo-range measurements.
Turning now to the receivers, there is a wide range of GPS receivers available today, and typically the internal architecture of a GPS receiver comprises a front end that initially processes the incoming satellite signals, followed by signal processing stages that apply the algorithms to determine the receivers location, speed and time.
The front end in basic terms is similar to that of a superheterodyne receiver. The signal is detected by a GPS antenna and fed to a low noise amplifier. Following amplification, the signal is down converted to a lower workable frequency. This is achieved by mixing or heterodyning the GPS signal with another constant frequency signal. This mixing signal is produced by a local oscillator. When two signals are mixed, the original, the sum of the two and the difference between the two frequencies is output. The filter in the following stages selects only the difference frequency and rejects the others. This difference frequency produced by the down conversion step is known as the intermediate frequency IF. The signal is next converted from analogue to digital in an AD converter. The output level of the AD converter is monitored by a voltage comparator to check levels exceeding or dropping below threshold levels, and an automatic gain control continually adjusts the gain of the IF amplifier to maintain a constant output level. The digital signal from the AD converter is used as an input to several stages of signal processing dealing with the ranging process.
As indicated earlier, the ranging process aims to calculate the distance from the satellite to the receiver using the incoming PRN codes to time how long it has taken the signals transmitted by the satellite to arrive at the receiver. To achieve this, each receiver has the capability to generate an exact pattern of the code that each satellite transmits using a PRN signal generator. The incoming signal received from a particular satellite is likely to be out of phase with the internal one since the time it takes to travel from the satellite to the receiver, measured in units of time periods to transmit a chip may not be always known. The internally generated expected PRN signal from a particular satellite needs to be suitably delayed or phase shifted so that it matches with the received signal when compared. The strength of match can be measured from correlation between the two signal fragments. It is usual to correlate a fragment of the received sequence with a corresponding fragment of the expected signal from the satellite. As the digitised expected signal is periodic, the internally generated sequence can be delayed by rotating the sequence. The amount of shifting or offset that was required to match the two signals provides the receiver with a measurement of the time lag between the signal leaving the satellite and arriving at the receiver. This measurement is then used to derive the range.
In principle, if the time it takes for the signal to travel from the satellite to the receiver via a particular path were known, then it would be possible to predict a signal proportional to the signal arriving at the receiver via that path and the output from the correlator would be a large quantity related to the energy in that path. However, this time interval is not known to begin with. It is usual to acquire the exact time of travel for each significant path by using some form of search algorithm. As the signal is cyclic (at least for 20 ms) by shifting the fragment of expected signal by m shift positions, a delay of m multiplied by the sampling period in microseconds can be simulated. Various delays are tried and the output of the correlator is monitored. The delay that is identified as being the one that is appropriate is the one that yields the highest correlation output. If sub chip sampling is employed, (say 4 samples per chip which is currently common) then a high value is obtained for about 4 of the m rotations. The rotation that yields the highest correlation from these four contiguous rotations is used to calculate the time the signal has taken to travel from the satellite to the observer. Once the time has been estimated, the changes in this time are monitored using various tracking algorithms.
Referring more generally to spread spectrum systems, all the information transmitted is not retrievable from a single received pulse. For example in WCDMA each data element is modulated using a code comprising a string of positive and negative bits specific to an individual system user to create a set of data pulses. The entire set is transmitted. This allows the value of the data element to be retrieved even if only a subset of the pulses transmitted is accurately received. The value of the bit is, however, calculated using all the received pulses both accurate and inaccurate rather than from an individual pulse as in analogue systems.
Accordingly, spread spectrum systems like WCDMA employ broadly analogous synchronisation techniques to those described above in relation to the GPS ranging process. For example, in a WCDMA receiver, user data is retrieved from a desired spread signal by a de-spreading code known to the receiver, provided there is accurate synchronisation between the spread user signal and the (de)spreading code.